Device for determining misfiring of a cylinder of a multicylinder engine

ABSTRACT

The device for determining a misfiring of a cylinder of a multicylinder engine determines that a misfire has occurred when a change in the angular velocity of the crank shaft detected by a crank angle sensor mounted to the engine body becomes larger than a predetermined set value, and to prevent a misjudgement caused by engine vibration, the device changes the mode of operation for determining the misfire when the engine is operated in a region in which the engine vibration is increased, i.e., in this operating region, the determination of the misfire is not carried out, or the above predetermined set value for the change in angular velocity is increased.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a device for determining a misfiring inone cylinder of a multicylinder engine.

2. Description of the Related Art

When a misfire occurs in one of the cylinders in a multicylinder engine,the engine rotational speed drops at the power stroke in which themisfire occurs, and therefore, the time required for the crankshaft toturn by a certain crank angle during the power stroke of the misfiringcylinder becomes longer than that of other cylinders.

Therefore, for example, there is known a multicylinder engine where itis determined, for example, that the No. 1 cylinder has misfired whenthe period required for the crankshaft to turn by a certain crank angleduring the power stroke of the No. 1 cylinder becomes longer than thatof other cylinders (see Japanese Unexamined Patent Publication (Kokai)No. 62-228929).

Such a multicylinder engine is provided with a rotor which is made torotate synchronously with the crankshaft, and which is provided withouter teeth, and an electromagnetic pickup is disposed on the enginebody in the proximity of the outer teeth of the rotor, to produce anoutput pulse when facing an outer tooth. The time required for thecrankshaft to turn by a certain crank angle is determined from the timeinterval of the generation of these output pulses.

The engine body, however, is usually supported by the vehicle body viaengine mounts made of a resilient material such as a rubber, and thusthe engine body vibrates in all directions during the operation thereof.Namely, during the operation of the engine, an engine vibrationcomponent exists along the direction of the rotation of the crankshaft,and accordingly, the relative speed of rotation of the engine body andthe crankshaft includes an oscillating component generated by the enginevibration. Therefore, if the magnetic pickup is disposed on the enginebody, as mentioned above, the time required for the crankshaft to turnby a certain crank angle becomes different from an actual time, when theengine vibration becomes high.

The operating speed of the engine in which the vibration of the engineis increased by resonance is determined by the spring constant (i.e.,the rigidity) of the engine mounts. Usually, the rigidity of the enginemount is selected such that resonance occurs only when the engine speedis lower than the normal operating range (i.e., lower than an idlingspeed of the engine) to maintain the engine vibration at a relativelylow level in the normal operating range. Nevertheless, the rigidity ofthe engine mount is gradually increased as the operation period of theengine is extended, because the material of the engine mounts tends toharden with an elapse of time. Therefore, after the engine is used for along time, the operating speed at which the engine resonates is alsogradually increased, and the vibration of the engine becomes high evenin the normal operating speed range.

As mentioned above, this causes a variation of the time required for thecrankshaft to turn by a certain crank angle, which is detected by themagnetic pickup disposed on the engine body, even when no misfireoccurs. Therefore, it may be incorrectly determined that a misfire hasoccurred, even though such a misfire has not actually occurred.

SUMMARY OF THE INVENTION

In view of the problems of the related art, the object of the presentinvention is to provide a device for detecting a misfire in one cylinderof a multicylinder engine, by which an erroneous detection due to anincreased engine vibration is avoided.

According to the present invention, there is provided a device fordetermining a misfire in one cylinder of a multicylinder engine having acrankshaft rotatably supported by the engine body, comprising a velocitydetecting means for detecting angular velocities of the crankshaftrotation relative to the engine body during power stroke periods of therespective cylinders;

a difference calculating means for calculating differences of theangular velocities during the power stroke periods of two respectivecylinders successively in the firing order; a misfire determining meansfor determining that a misfire has occurred when said difference of theangular velocities becomes larger than a predetermined set value; anoperating condition detecting means for detecting the operatingconditions of the engine; and, a control means for controlling theoperation of said misfire detecting means when the engine operatingcondition coincides with a predetermined condition in which thevibration of the engine is increased.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be better understood from the description asset forth hereafter, with reference to the accompanying drawings, inwhich:

FIG. 1 is an overall view of an internal combustion engine;

FIG. 2 is a front view of a rotor;

FIG. 3 is a front view of a rotor;

FIG. 4 is a time chart showing the change in the angular velocity of thecrankshaft rotation when a misfire occurs;

FIG. 5 (A) is a graph showing the set value K as a function of Q/N;

FIG. 5 (B) is a graph showing the set value K as a function of N;

FIG. 5 (C) shows a map for the value K as a function of Q/N and N;

FIG. 6 is a graph showing the relationships between the magnitude of theengine vibration and the engine speed;

FIG. 7 is a graph showing the operating conditions of the engine inwhich the vibration of the engine is increased;

FIG. 8 (A) is a graph showing the set value K as a function of Q/N whilekeeping the engine speed N constant;

FIG. 8 (B) is a graph showing the set value K as a function of N whilekeeping the engine operating load Q/N constant;

FIG. 8 (C) shows a map for the value K as a function of Q/N and N;

FIG. 9 is a time chart showing the determination of a misfire in thisembodiment according to the present invention;

FIG. 10 is a flow chart of a routine executed by an interruption by atop dead center pulse signal;

FIGS. 11 and 12 show a flow chart of the misfire determining operationof an embodiment of the present invention;

FIGS. 13 and 14 show a flow chart of the misfire determining operationof another embodiment of the present invention; and

FIG. 15 is a graph showing the set value G.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring to FIG. 1, the internal combustion engine 1 is provided withfour cylinders: the No. 1 cylinder #1, No. 2 cylinder #2, No. 3 cylinder#3, and No. 4 cylinder #4. The cylinders are connected to an inlet airsurge tank 3 through corresponding branching pipes 2 and on the otherhand are connected to an exhaust manifold 4. In each of the branchingpipes 2 is mounted a fuel injector 5. The surge tank 3 is connected toan air cleaner 8 through a suction duct 6 and an air flow meter 7. Inthe suction duct 6 is disposed a throttle valve 9. On the other hand,the crankshaft 10 of the internal combustion engine 1 has mountedthereto a disc-shaped rotor 11. At the outer circumference of the rotor11, in an opposing manner thereto, a crank angle sensor 12 is mounted tothe engine.

The internal combustion engine 1 also has mounted to it a distributor13, which distributor 13 is provided with a shaft 14 which turns at aspeed one-half that of the crankshaft 14. The shaft 14 has affixed to ita disc-shaped rotor 15. At the outer circumference of the rotor 15 isdisposed a TDC sensor 16 in an opposing manner. The crank angle sensor12 and the TDC sensor 16 are connected to an electronic control unit 20.

The electronic control unit 20 is comprised of a digital computer andincludes a ROM (read only memory) 22, a RAM (random access memory) 23, aCPU (microprocessor) 24, a timer 25, an input port 26, and an outputport 27, all mutually connected through a two-way bus 21. The timer 25is comprised of a free running counter which performs a count-upfunction when power is supplied to the electronic control unit 20,therefore the count of the free running counter shows the time. The airflow meter 7 generates an output voltage signal proportional to theamount of intake air. The output voltage of the same is input to theinput port 26 through an AD converter 28. Further, the output signals ofthe crank angle sensor 12 and the TDC sensor 16 are input to the inputport 26. On the other hand, the output port 27 is connected throughcorresponding drive circuits 29, 30, 31, and 32 to an alarm lamp 33showing that the No. 1 cylinder #1 has misfired, an alarm lamp 34showing that the No. 2 cylinder #2 has misfired, an alarm lamp 35showing that the No. 3 cylinder #3 has misfired, and an alarm lamp 36showing that the No. 4 cylinder #4 has misfired.

FIG. 2 shows the rotor 11 and the crank angle sensor 12. In theembodiment shown in FIG. 2, the rotor 11 has twelve outer teeth 17formed equiangularly every 30 degrees. The crank angle sensor 12 iscomprised of an electromagnetic pickup which issues an output pulse whenfacing the outer teeth 17. Therefore, in the embodiment shown in FIG. 2,when the crankshaft 10 (FIG. 1) turns, that is, when the rotor 11 turns,the crank angle sensor 12 issues an output pulse each time thecrankshaft 10 turns 30 degrees and the output pulse is input to theinput port 26 (FIG. 1).

On the other hand, FIG. 3 shows the rotor 15 and the TDC sensor 16. Inthe embodiment shown in FIG. 3, the rotor 15 has a single projection 18,while the TDC sensor 16 is comprised of an electromagnetic pickup whichissues an output pulse when facing the projection 18. As mentionedbefore, the rotor 15 is turned at a rotational speed one-half that ofthe crankshaft 10 (FIG. 1). Therefore, when the crankshaft 10 turns, theTDC sensor 16 issues an output pulse every time the crankshaft 10 turns720 degrees and this output pulse is input to the input port 26 (FIG.1). The projection 18 is arranged in position so as to face the TDCsensor 16 when, for example, the No. 1 cylinder #1 reaches the TDC ofits power stroke. Therefore, the TDC sensor 16 issues the output pulsewhen the No. 1 cylinder #1 reaches the TDC of the power stroke.

The CPU 24 calculates the current crank angle from the output pulses ofthe TDC sensor 16 and the crank angle sensor 12. Further, the CPU 24calculates the revolution speed of the engine from the output pulse ofthe crank angle sensor 12.

When a misfire occurs in any one of the cylinders, the rotational speedof the engine falls during the power stroke of the misfiring cylinder;i.e., the angular velocity of the crankshaft 10 becomes smaller and thetime required for completing the power stroke increases in inverseproportion to the angular velocity of the crankshaft 10.

For example, in a four cycle engine as shown in FIG. 1, the power strokeis repeated every 180 degrees crank angle (CA), and therefore, the timerequired for the power stroke of each cylinder can be detected bycounting the time required for the crankshaft 10 to rotate every 180degrees CA.

FIG. 4 shows the time required for the power stroke of each cylinder.The figure is drawn on the basis of a four cycle engine having a firingorder of 1-3-4-2. In FIG. 4, T₁ represents a time required for the powerstroke of the No. 1 cylinder (#1), and T₂, T₃ and T₄ represent same forNo. 2 (#2), No. 3 (#3) and No. 4 (#4) cylinders, respectively. In FIG.4, the misfire occurs in #3 cylinder and the time T₃ required for thepower stroke is increased as indicated by a solid line. In this case,also the time T₄ for #4 cylinder is increased to the same level as #3cylinder, and then the time required for the power strokes is graduallydecreased.

Further ΔT in FIG. 4, shows differences between the time required forthe power strokes of two cylinders in a successive firing order. Whenthe misfire occurs, the difference ΔT is increased only for themisfiring cylinder. For example, as shown in FIG. 4, the difference ΔT₃for misfiring #3 cylinder (which is equal to T₃ -T₁) is increased by alarge amount. Therefore, the misfiring cylinder can be identified by thevalue of ΔT for each cylinder. In this embodiment, when the differenceΔT for a cylinder becomes larger than a predetermined value K, it isdetermined that the misfire has occurred in that cylinder.

The magnitude of the difference ΔT also varies according to the enginerevolution speed N and the engine operating load (in this embodiment,the engine operation load is defined by Q/N, which represents a volumeof inlet air flow Q per one revolution of the engine). Therefore, theabove predetermined set value K is also changed according to the enginerevolution speed N and the engine operating load Q/N.

FIG. 5 (A), (B) shows the relationships between the values K and (Q/N)and K and N respectively. When the engine operating load (Q/N) is high,the revolution speed of the engine falls largely if a misfire occurs,and therefore, ΔT becomes larger when the misfire occurs under a highoperating load. On the other hand, when the revolution speed N of theengine is high, the time required for the power stroke of each cylinderbecomes shorter, and therefore, the difference ΔT also becomes smaller.

Therefore, as shown in FIG. 5 (A), the set value K is increased as theoperating load (Q/N) becomes higher, and as shown in FIG. 5 (B), the setvalue K is decreased as the revolution speed N becomes lower. In thisembodiment, the set value K is stored in advance in the ROM 22 of theengine control unit 20, in the form of a map as a function of (Q/N) andN as shown in FIG. 5, and when the difference ΔT of a cylinder becomeslarger than the set value in FIG. 5 (C), it is determined that saidcylinder is misfiring.

As explained before, however, if the engine 1 violently vibrates aroundthe crankshaft 10, the relative rotating speed between the crank anglesensor 12 (which is mounted to the engine) and the rotor 11 (which ismounted to the crankshaft 10) fluctuates. In this case, the time Tcalculated from the output pulse of the crank angle sensor 12 alsovaries largely, and consequently, the difference ΔT thereof is alsoincreased largely. The variation of the time T and the difference ΔT dueto the engine vibration is indicated by a dotted line in FIG. 4. In FIG.4, the time T₃ calculated from the output pulse of the crank anglesensor 12 is increased largely by the engine vibration, and thedifference ΔT₃ becomes larger than the set value K. Thus an erroneousjudgement is made that the misfire is occurring in #3 cylinder eventhough no misfire is actually occurring.

To prevent such a misjudgement, either of two types of countermeasurecan be adopted according to the present invention.

The first type of countermeasure for preventing the misjudgement is toprohibit the determination of the misfire when the engine 1 vibratesviolently.

As explained before, the engine revolution speed range in which theengine vibration increases due to resonance depends on the rigidity ofthe engine mounts. Usually, the rigidity of the engine mounts isselected so that the resonance occurs at a speed lower than the idlingspeed. Nevertheless, after the engine is used for a long time, theresonance speed becomes higher due to a hardening of the engine mountmaterial. FIG. 6 shows the change in the distribution of the vibrationintensity G of the engine. When the engine is new, the distribution ofthe vibration intensity G is represented by the curve X in FIG. 6. Asshown by the curve X, the vibration increases in the narrow speed rangecentered on the resonance speed (i.e., in FIG. 6, 400 rpm). After theengine is operated for a long time, the distribution of the vibrationshifts to a higher speed region (as shown by the curve X' in FIG. 6) dueto the hardening of the engine mount. Therefore, considering the secularchange, a large vibration may occur in the speed range indicated by ahatched line in FIG. 6. Further, in the speed range in FIG. 6, thevibration is further increased as the engine operating load (Q/N) isincreased. Although the set value K is increased as (Q/N) becomes higheras shown in FIG. 5 (A), when (Q/N) is increased in the speed range shownin FIG. 6, the difference ΔT may become larger than the set value K, dueto large engine vibration. Therefore, to prevent the misjudgement, it isnecessary to prohibit the determination of a misfire when the engine isoperated in a speed range shown in FIG. 6 and at more than a certainoperating load. The hatched area in FIG. 7 represents the operatingrange defined by the engine speed N and operating load (Q/N) in whichthe determination of the misfire should be prohibited to avoid amisjudgement. In the embodiment incorporating the first type ofcountermeasure, the operating range shown by the hatched area in FIG. 7is stored in advance in the ROM 22 in the form of a map, as a functionof the engine speed N and the engine operating load (Q/N).

The second type of countermeasure for preventing the misjudgement is toincrease the set value K (e.g., to the value K' shown in FIG. 4) whenthe engine is operated in the operating range shown by hatched area inFIG. 7. FIG. 8 (C) represents a map for the set value K, which issimilar to FIG. 5 (C) but incorporates the above countermeasure. In FIG.8 (C), the area surrounded by the chain line "P" corresponds to theoperating range shown by hatched area in FIG. 7. The set values K₂₁˜K₂₅, K₃₁ ˜K₃₅ in the area surrounded by the line P are set larger thanthe set values outside of this area. For example, FIG. 8 (A) shows achange in the set value K_(3m) (m=1, 2, . . . , m), i.e., a change ofthe set value K in accordance with the engine operating load (Q/N) whilekeeping the engine speed N constant. Also, FIG. 8 (B) shows a change inthe set value K_(n2) (n=1, 2, . . ., n), i.e., a change of the set valueK in accordance with the engine revolution speed N while keeping theengine operating load (Q/N) constant. In FIGS. 8 (A) and 8 (B), thedotted lines represent the setting values in FIGS. 5 (A) and 5 (B),i.e., the values without an incorporation of the above countermeasure.In the embodiment of the present invention incorporating the second typeof countermeasure, the setting values K_(nm) (n=1 2, . . . n, m=1, 2, .. . m) shown in FIG. 8 (C) are stored in the ROM 22 of the enginecontrol unit 20 in the form of a map, as a function of (Q/N) and N.

FIG. 9 shows a time chart representing an embodiment of the misfiredetermining process shown in FIG. 4. In FIG. 9, the crank angle isexpressed based on the TDC of the power stroke of the #1 cylinder. Asexplained before, when the #1 cylinder reaches the TDC of the powerstroke thereof, the TDC sensor 16 generates a TDC pulse as shown in FIG.9. When this TDC pulse is generated, the interruption routine shown inFIG. 10 is executed to thereby reset the counter n. (n=0).

On the other hand, when the TDC of the power strokes of the cylindersare slightly exceeded, as shown by t₁, t₂, t₃, and t₄ in FIG. 9, theinterruption routine is executed at every 180 degrees CA. When theinterruption routine is executed, the count n of the counter isincremented by "1" and simultaneously the times T₁, T₂, T₃, and T₄elapsed from the former interruption to the current interruption arecalculated. That is, during the interruption shown by t₁, the elapsedtime T₁ in the cylinder #1 is calculated, during the interruption shownby t₂, the elapsed time T₂ in the cylinder #3 is calculated, during theinterruption shown by t₃, the elapsed time T₃ in the cylinder #4 iscalculated, and during the interruption shown by t₄, the elapsed time T₄in the cylinder #2 is calculated. Further, the difference ΔT of theelapsed time T is also calculated at each interruption. That is, duringthe interruption shown by t₁, the difference ΔT₁ (=T₁ -T₄) iscalculated. Similarly the differences ΔT₂ (=T₂ -T₁), ΔT₃ (=T₃ -T₂) andΔT₄ (=T₄ -T₃) are calculated during the interruptions shown by t₂, t₃and t₄ respectively. Note that the subscripts of ΔT in FIG. 9 do notcoincide with the cylinder numbers of the engine.

In the first embodiment of the present invention incorporating the firsttype of countermeasure, it is determined during each interruptionwhether or not the operating condition of the engine is inside thehatched area in FIG. 7. Then, it is determined whether or not the ΔT islarger than the value K only when the operating condition is not insidesaid area, and it is judged that a misfire has occurred in the cylinderin which the ΔT is larger than the value K.

On the other hand, in the second embodiment of the present invention,which incorporates the second type of countermeasure, it is determinedduring each interruption whether or not the ΔT is larger than the valueK, and if the ΔT is larger than the value K in any one of the cylinders,this cylinder is judged to be misfiring.

FIGS. 11 and 12 show a flow chart of the process for determining themisfiring cylinder according to the above explained first embodiment ofthe invention. The routine of FIGS. 11 and 12 is executed byinterruptions at every 180 degrees CA.

Referring to FIGS. 11 and 12, at step 40 the counter n (n=0, 1, 2, 3) isincremented by "1", and at step 41, the value of the parameter "Time"(which represents the time when the proceeding interruption was carriedout) is stored as "Time 0". Then, at step 42, the current time (i.e. thetime when the present interruption is carried out) is stored as "Time".At step 43, the elapsed time T_(n) (n=1, 2, 3, 4) from the precedinginterruption to the present interruption is obtained by calculating thedifference between "Time" (the time when the present interruption iscarried out) and "Time 0" (when the preceding interruption is carriedout). Then, at step 44, it is determined whether or not the engine isbeing started. If the engine is being started at step 44, the routine isterminated. If the engine is not being started, the routine proceeds tostep 45. When the revolution of the engine N is less than 400 rpm atstep 44, it is determined that the engine is being started.

At step 45, it is determined whether or not the operating condition ofthe engine is in the hatched area of FIG. 7. If the operating conditionis in said area the routine is terminated, and if not, the routineproceeds to step 46, in which the counter F_(n) is incremented by "1".That is, the counter F_(n) is incremented by "1" at every interruptionunless the operating condition of the engine is in the hatched area ofFIG. 7.

Then, at step 47, the difference ΔT_(n) is calculated from the elapsedtime T_(n) calculated at step 43 and the elapsed time T_(n-1) calculatedin the preceding interruption. The value ΔT_(n) is compared with thesetting value K stored in ROM 22 at step 48, and if ΔT_(n) ≦K, theroutine is terminated. If ΔT_(n) >K, the routine proceeds to step 49, inwhich the counter E_(n) is incremented by "1", i.e., the counter E_(n)is incremented every time ΔT_(n) >K.

Then, at step 50 it is determined whether or not the value of thecounter F_(n) is larger than or equal to a predetermined constant F_(o)(e.g., F_(o) =10). If F_(n) <F_(o), the routine is terminated, and ifF_(n) ≧F_(o), the routine proceeds to step 51 in which it is determinedwhether or not the value of the counter E_(n) is larger than or equal toa predetermined constant E_(o) (e.g., E_(o) =2). If E_(n) <E_(o), theroutine is terminated after resetting the counters F_(n) and E_(n) atstep 60, and steps 52 to 59 are executed only when E_(n) ≧E_(o) at step51. Namely, steps 52 to 59 are executed only when the determination ofwhether the ΔT_(n) is larger than K is carried out more than F_(o)times, and when ΔT_(n) >K occurs more than E_(o) times out of F_(n)times (which is the total number of times of the judgement).

Therefore, if F_(o) =10 and E_(o) =2, steps 52 to 59 are executed onlywhen the frequency of the occurrence of ΔT>K becomes more than 20%.

At steps 52 to 58, the cylinder number of the engine in which ΔT>Koccurred more times than the above predetermined frequency, isidentified from the value of the counter n. Namely, if n=1, it isdetermined at step 52 that the cylinder #1 is misfiring, and the #1alarm flag is set at step 53. If n=2, it is determined that the cylinder#3 is misfiring at step 54, and the #3 alarm flag is set at step 55.Similarly, if n=3, it is determined that the cylinder #4 is misfiring atstep 56 and the #4 alarm flag is set at step 57, and if n=4, it isdetermined that the cylinder #2 is misfiring at step 56, and the #2alarm flag is set at step 58.

Then, at step 59, one of the alarm lamps 33, 34, 35, 36 whichcorresponds to the alarm flag set at above steps is made ON.

The reason for judging the frequency of the occurrence of ΔT>K (step 50)in the above embodiment is explained as follows.

When the vehicle is running on a rough road, the road holding conditionof the drive wheels changes frequently. If the road holding is worsened,the revolution speed of the engine increases due to slip between thedrive wheels and the road surface. Conversely, if the road holding isrecovered, the revolution speed of the engine falls due to a firmcontact between the drive wheels and the road surface. When therevolution speed of the engine falls, the time T and the difference ΔTthereof also become larger and may cause a misjudgement of the misfire.Nevertheless, the frequency of the occurrence of the increase of the ΔTby the change in the road holding is rather low, and therefore, byjudging the frequency of the occurrence of ΔT>K, the effect of the roadholding on the determination of misfire can be eliminated. Consideringthis, the alarm lamps 33, 34, 35, 36 in this embodiment are set so thatthey are made ON only when the frequency of the occurrence of ΔT>Kbecomes larger than 20%.

FIGS. 13 and 14 show a flow chart of the process for determining amisfiring cylinder according to the second embodiment of the presentinvention. The routine of FIGS. 13 and 14 is executed by interruptionsof every 180 degrees CA.

When the routine is started in FIG. 13, steps 70 to 73 are carried outfor an increment of the counter n (step 70), the renewal of the Time andTime 0 (steps 71, 72), and the calculation of T_(n) (step 73). Also, atstep 74, it is determined whether or not the engine is being started.Since the steps 70 to 74 exactly correspond to the steps 40 to 44 inFIG. 11, a detailed explanation thereof is not repeated here.

At step 75 in FIG. 13, the counter F_(n) is incremented by "1", i.e., inthis embodiment the counter F_(n) is incremented by "1" at everyinterruption. Then, at step 76, the difference ΔT_(n) is calculated byΔT_(n) =T_(n) -T_(n-1) in the same manner as step 47 in FIG. 11. At step77, it is determined whether or not the difference ΔT_(n) is larger thanthe set value K. In this embodiment, the set value K is stored in ROM 22in the form of the map shown in FIG. 8 (C), as a function of the engineoperating load (Q/N) and the engine revolution speed N. As explainedbefore the value K is set so that, when the operating condition of theengine is in the area surrounded by the chain line P in FIG. 8 (C), thevalue K is increased. If ΔT_(n) ≦K at step 77, the routine isterminated, and if ΔT_(n) >K, the routine proceeds to step 78 in whichthe counter E_(n) is incremented by "G". The value G is given in theform of a map as shown in FIG. 15, as a function of the engine operatingload (Q/N) and the engine speed N. Referring to FIG. 15, the operatingarea surrounded by the chain line R exactly corresponds to the operatingarea surrounded by the chain line P in FIG. 8. The value of G in thisarea, i.e., G₂₁ ˜G₂₅ and G₃₁ ˜G₃₅ is set to a lower value such as 0.2,but the value of G outside of this area is set at 1.0. Consequently,when ΔT>K, if the operating condition of the engine is outside of thearea surrounded by the chain line R, the counter E_(n) is increased by1, and if the operating condition is inside said area, the counter isincreased by 0.2. The map for the value G is stored in advance in theROM 22 of the engine control unit 20.

Then at step 79, it is determined whether or not the value of thecounter F_(n) is larger than or equal to a predetermined constant F_(o)(e.g., F_(o) =10). If F_(n) <F_(o), the routine is terminated, and ifF_(n) ≧F_(o), the routine proceeds to step 80 in which it is determinedwhether or not the value of the counter E_(n) is larger than or equal toa predetermined constant E_(o) (e.g., E_(o) =2). If E_(n) <E_(o), theroutine is terminated after resetting the counters F_(n) and E_(n) atstep 89, and steps 81 to 88 are executed only when E_(n) ≧E_(o) at step80. That is, steps 81 to 88 are executed only when the determination ofwhether the ΔT_(n) is larger than K is carried out more than F_(o)times, and when ΔT_(n) >K occurs more than E_(o) times out of F_(n)times (which is the total number of the times of the determination).

Therefore, if F_(o) =10 and E_(o) =2, steps 81 to 88 are executed onlywhen the frequency of the occurrence of ΔT>K becomes larger than 20%.

At steps 81 to 87, the cylinder number of the engine in which ΔT>Koccurred at more than the above predetermined frequency, is identifiedfrom the value of the counter n. Namely, if n=1, it is determined atstep 81 that the cylinder #1 is misfiring, and the #1 alarm flag is setat step 82. If n=2, it is determined that the cylinder #3 is misfiringat step 83, and the #3 alarm flag is set at step 84. Similarly, if n=3,it is determined that the cylinder #4 is misfiring at step 85, and the#4 alarm flag is set at step 86, and if n=4, it is determined that thecylinder #2 is misfiring at step 85, and the #2 alarm flag is set atstep 87.

Then, at step 88, one of the alarm lamps 33, 34, 35, 36 whichcorresponds to the alarm flag set at above steps is made ON.

As mentioned above, by judging the frequency of the occurrence of ΔT>K,the adverse effect of a change in the road holding of the drive wheelson the determination of misfiring cylinder is also eliminated in thisembodiment.

Further, when the engine is operated in the area surrounded by the chainline P in FIG. 8, the frequency of the occurrence of ΔT>K becomes verylow, since the value K is largely increased in this area. In addition,even if ΔT>K occurs in this area, the value of the increment G of thecounter E_(n) is also made small in this area. Therefore, the value ofthe counter E_(n) (i.e., the frequency of the occurrence of ΔT>K) isstill kept low, and a misjudgement of the misfiring in this operatingarea due to an increased vibration of the engine can be avoided.

As explained above, according to the present invention, a misjudgementof the misfiring caused by the engine vibration can be completelyprevented.

Although the invention has been described by reference to specificembodiments chosen for purposes of illustration, it should be apparentthat numerous modifications could be made thereto by those skilled inthe art without departing from the basic concept and scope of theinvention.

We claim:
 1. A device for determining a misfire of a cylinder of amulticylinder engine having a crankshaft rotatably supported by theengine body, said device comprising:a velocity detecting means fordetecting an angular velocity of the crankshaft rotation relative to theengine body in power stroke periods of respective cylinders; adifference calculating means for calculating differences of said angularvelocities in the power stroke periods of two respective cylinders; amisfire determining means for determining that a misfire has occurredwhen said difference of the angular velocities becomes larger than apredetermined set value; an operating condition detecting means fordetecting operating conditions of the engine, wherein said operatingcondition detecting means detects a revolution speed of the engine andan operating load of the engine; and a control means for controllingoperation of said misfire detecting means when the engine operatingconditions coincide with a predetermined condition in which thevibration of the engine is increased, wherein said predeterminedcondition in which the vibration of the engine is increased is definedas a function of the revolution speed and the operating load of theengine, and wherein said control means prohibits said misfiredetermining means from carrying out said determining operation of amisfire when the engine operating condition coincides with saidpredetermined condition.
 2. A device for determining a misfire of acylinder of a multicylinder engine having a crankshaft rotatablysupported by the engine body, said device comprising:a velocitydetecting means for detecting an angular velocity of the crankshaftrotation relative to the engine body in power stroke periods ofrespective cylinders; a difference calculating means for calculatingdifferences of said angular velocities in the power stroke periods oftwo respective cylinders; a misfire determining means for determiningthat a misfire has occurred when said difference of the angularvelocities becomes larger than a predetermined set value; an operatingcondition detecting means for detecting operating conditions of theengine, wherein said operating condition detecting means detects arevolution speed of the engine and an operating load of the engine; anda control means for controlling operation of said misfire detectingmeans when the engine operating conditions coincide with a predeterminedcondition in which the vibration of the engine is increased, whereinsaid predetermined condition in which the vibration of the engine isincreased is defined as a function of the revolution speed and theoperating load of the engine, and wherein said control means controlssaid misfire detecting means so that said predetermined set value of thedifference of the angular velocities is increased by a predeterminedamount when the engine operating condition coincides with saidpredetermined condition.
 3. A device as set forth in claim 2, furthercomprising an alarm means for generating an alarm signal indicating thecylinder number when the frequency at which said misfire determiningmeans determines that a misfire has occurred in said cylinder is largerthan a predetermined frequency value.